import java.util.Scanner;
public class BinaryTree {
// 注意类名必须为 Main, 不要有任何 package xxx 信息
        static class TreeNode {
            public char val;
            public TreeNode left;
            public TreeNode right;

            public TreeNode(char val) {
                this.val = val;
            }
        }

        public static int i = 0;

        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            // 注意 hasNext 和 hasNextLine 的区别
            while (in.hasNextLine()) { // 注意 while 处理多个 case
                String str = in.nextLine();
                TreeNode root = createTree(str);
                inorder(root);
            }
        }

        public static TreeNode createTree(String str) {
            TreeNode root = null;
            if(str.charAt(i) != '#') {
                root = new TreeNode(str.charAt(i));
                i++;
                root.left = createTree(str);
                root.right = createTree(str);
            }else {
                i++;
            }
            return root;
        }

        public static void inorder(TreeNode root) {
            if(root == null) return;
            inorder(root.left);
            System.out.print(root.val + " ");
            inorder(root.right);
        }
}
